package com.itheima.springboot_reggie.emtity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 封装员工信息的实体类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Employee implements Serializable {
    private static final long serialVersionUID = 1L;

    private Long id;

    private String username;

    private String name;

    private String password;

    private String phone;

    private String sex;

    private String idNumber; //驼峰命名法 ---> 映射的字段名为 id_number

    private Integer status;

    /**
     *  新建字段： 添加数据自动填充数据
     */
    @TableField(fill=FieldFill.INSERT) //插入时填充字段
    private LocalDateTime createTime;

    /**
     *  更新字段：添加数据 / 更新数据时需要自动填充数据
     */
    @TableField(fill =FieldFill.INSERT_UPDATE)  // 插入/更新时填充该属性值
    private LocalDateTime updateTime;

    /**
     *   自动填充   Mybatis Plus提供的公共字段自动填充功能。
     *   在实体类的属性上加入@TableField注解，指定自动填充的策略。
     */

    /**
     *  新建字段： 添加数据自动填充数据
     */
    @TableField(fill = FieldFill.INSERT) //插入时填充字段
    private Long createUser;

    /**
     *  更新字段：添加数据 / 更新数据时需要自动填充数据
     */
    @TableField(fill = FieldFill.INSERT_UPDATE) // 插入/更新时填充字段
    private Long updateUser;
}
